
import re

from api import zhipuai_operation, prompt2localurl


def ask2answer(ask):
    res=zhipuai_operation.invoke_example(ask)
    #去掉res的第一个和最后一个"
    res=res[1:-1]
    print(res)
    return res.replace('\\n', '')

def genggai2fenjing_intro(genggai='外星人入侵地球，对人类进行攻击，但是一部分人不磨灭意志奋起反抗，最终把外星人赶跑了'):
    res=ask2answer("请为以下的故事梗概生成5个分镜头，每个分镜头为20个字左右，要包含景别和画面，格式：1.远景，一个巨大的ufo漂浮在城市之上 2.中景，惊恐的居民 3.特写，人类军团奋起反抗 4.人类赢得了战争 5.远景，ufo飞离了地球；梗概：" + genggai)
    #使用正则表达式，以形如1./2./3./4. 开头的数字为分割符，将res1分割成5个字符串
    print(res)
    res=re.split(r'\d\.',res)
    #去除res1中的\\n
    res=[i.replace('\\n','') for i in res]
    #去除res1的第一个元素
    res=res[1:]
    print('fenjing_intro是',res)
    return res

def fenjing_intro2fenjing_prompt(res):
    print("fenjing_intro2fenjing_prompt被调用！！！！")
    fenjing_prompt=[]
    for i in res:
        fenjing_prompt.append(ask2answer("请用纯英文为这个分镜头生成5个英文关键词或英文短句，突出场景的剧情，富有特色，用英文逗号分隔，要包含景别，背景，画面，画面内容："+i+"。")+"Film segmentation")
        print(i,':')
        print(fenjing_prompt[-1])
    return fenjing_prompt


def fenjing2fenjing_prompt(res):
    print("fenjing_intro2fenjing_prompt被调用！！！！")
    res = ask2answer("请用纯英文为这个分镜头生成5个英文短语或短句，突出场景的剧情，富有特色，要包含景别，背景，画面，画面内容："+res+"。")+" Film segmentation"
    print(res)
    return res


def fenjing_prompt2fenjing_localurl(fenjing_prompt):
    fenjing_localurl=[]
    for i in fenjing_prompt:
        fenjing_localurl.append(prompt2localurl.prompt2localurl(i))
    return fenjing_localurl

def fenjing2fenjing_localurl(fenjing_prompt):
    fenjing_localurl=prompt2localurl.prompt2localurl(fenjing_prompt)
    return fenjing_localurl

